1. Field of the Invention
The invention generally relates to information storage and retrieval computer systems. More particularly, it relates to customizable workflow systems, methods, and articles of manufacture.
2. Description of the Related Art
A content management system is a computer-based infrastructure for managing the full spectrum of digital information. Large collections of scanned images, facsimiles, electronic office documents, XML and HTML files, computer output, audio, video, multimedia, and virtual reality content can be stored and accessed through the content management system. The content management system integrates content with line of business, customer service, enterprise resource planning (ERP), digital asset management, distance learning, World-Wide Web (“Web”) content management or other applications to accelerate benefits across the enterprise.
One instance of such a content manager system can be visualized as a triangle, its three vertices being the client, a library server and an object server (resource manager). The client provides the user's interface which gives the user the capability of storing, searching for, and, marking-up documents or other objects. The library server is the equivalent of a card catalog which holds information about the objects, including their location. The object server (OS), also referred to herein as the resource manager (RM) is where either the actual object or a pointer to the actual object is stored.
The core library server logic (except for system utilities and housekeeping tasks) is packaged as a set of relational data base (RDB) stored procedures (SPs) containing embedded SQL statements. Each stored procedure is precompiled and runs on a relational database (RDB) server. Thus, each library server process is a relational database server process. The interface to a library server is SQL, through which either stored procedures can be called or SQL SELECT statements (including cursor support) can be executed. Remote access to the library server is via a relational database client.
The resource managers (RMs) can support different/multiple access protocols. For example, the resource manager, or object server, supports the HTTP protocol. The basic information entities managed by the library server are “items.” “Items” as used herein come in two types, simple items and resource items. Resource items can have content associated with them that is stored in one or more resource managers. Resource items point to their content via resource uniform resource locator (URL) related data.
The library server and resource manager, or object server, are separate processes, often running on different machines. In operation, clients first contact the library server to create/update an index for an object, and to determine where the object is to be stored/replaced. The client then sends a request to the resource manager to store/replace the object.
A content management system stores a collection of objects, such as multimedia objects. Such a collection will contain a large number of large objects. One of the central problems with such computing systems is the efficient management of the collection on a set of computers that have limited resources (e.g., processor speed, memory, and disk space). Many computer storage systems use hierarchical storage management (HSM) to provide access to the collection. Storage management policies control the movement of objects from slow inexpensive storage media to fast expensive storage media. These policies provide the necessary storage migration functions, but in many cases these predefined policies do not take full advantage of the workflow components employed in the system, and so they are sub-optimal.
There is a need for workflow systems and techniques that allow the processing behavior of the content management system to be specified depending on the objects being processed, in order to optimize the processing of the object.